<?php

namespace app\attachment\model;

use app\admin\model\Data;
use think\model\concern\SoftDelete;

/**
 * 附件分类模型
 */
class Category extends Data
{
    /**
     * 软删除
     */
    use SoftDelete;
    protected $deleteTime = 'delete_time';
    protected $defaultSoftDelete = 0;

    /**
     * 数据表名称
     * @var string
     */
    protected $name = 'attachment_category';

    /**
     * 自动写入时间戳
     * @var bool
     */
    protected $autoWriteTimestamp = true;

    /**
     * 读取某个分类下的所有子分类 - 包含自己
     * @param $id
     * @return array
     */
    public static function getCatId($id)
    {
        return array_merge([$id], self::getCat($id));
    }

    /**
     * 读取某个分类下的所有子分类 - 不包含自己
     * @param $id
     * @return array
     */
    public static function getCat($id)
    {
        $arr = [];
        $data = self::where('pid', $id)->select();
        foreach ($data as $value) {
            $arr[] = $value['id'];
            $arr = array_merge($arr, self::getCat($value['id']));
        }
        return $arr;
    }
}
